A Taint Based Smart Fuzzing Approach for Integer Overflow Vulnerability Detection
نویسندگان
چکیده
-Fuzzing is one of the most commonly used methods to detect software vulnerabilities which are one major cause of information security incidents. The basic idea of fuzzing is to discover software vulnerabilities by feeding unexpected input and monitoring abnormal behaviors. Although it has advantages of simple design and low error report, its efficiency is usually poor. In this paper we present a taint based smart fuzzing approach for integer overflow vulnerability detection and a tool, SwordFuzzer, which implements this approach. Unlike standard fuzzing techniques, which randomly change parts of the input file with no information about the underlying syntactic structure of the file, SwordFuzzer uses online dynamic taint analysis to identify which bytes in the input file are used in security-sensitive operations (e.g., Malloc) and then focuses on mutating such bytes. Thus, generated inputs are more likely to trigger potential vulnerabilities. We evaluated SwordFuzzer with an example program and a number of real applications, experimental results show that SwordFuzzer can accurately locate the key bytes of the input file and dramatically improve the effectiveness of fuzzing. Further efficacy for detection of zero-day integer overflow vulnerabilities is being under test.
منابع مشابه
A Smart Fuzzing Approach for Integer Overflow Detection
Fuzzing is one of the most commonly used methods to detect software vulnerabilities, a major cause of information security incidents. Although it has advantages of simple design and low error report, its efficiency is usually poor. In this paper we present a smart fuzzing approach for integer overflow detection and a tool, SwordFuzzer, which implements this approach. Unlike standard fuzzing tec...
متن کاملComfortFuzz: The Smartest Dumb Fuzzer
Fuzzers are tools used to test an application for bugs, especially exploitable bugs such as integer overflow errors, using modified user inputs randomly distributed over the whole potential input space. The earliest fuzzers were so-called ”black box” fuzzers, which simply randomly generate inputs and pass them through to the program without any other tricks. Fuzzing was substantially improved b...
متن کاملIntScope: Automatically Detecting Integer Overflow Vulnerability in X86 Binary Using Symbolic Execution
The number of identified integer overflow vulnerabilities has been increasing rapidly in recent years. In this paper, we present a system, IntScope, which can automatically detect integer overflow vulnerabilities in x86 binaries before an attacker does, with the goal of finally eliminating the vulnerabilities. IntScope first translates the disassembled code into our own intermediate representat...
متن کاملCombining Static and Dynamic Analysis for Vulnerability Detection
In this paper, we present a hybrid approach for buffer overflow detection in C code. The approach makes use of static and dynamic analysis of the application under investigation. The static part consists in calculating taint dependency sequences (TDS) between user controlled inputs and vulnerable statements. This process is akin to program slice of interest to calculate tainted dataand control-...
متن کاملTaint-Enhanced Policy Enforcement: A Practical Approach to Defeat a Range of Attacks
Policy-based confinement, employed in SELinux and specification-based intrusion detection systems, is a popular approach for defending against exploitation of vulnerabilities in benign software. To be effective, this approach requires the development of accurate application-specific security policies, which is a difficult task. Even if sufficient resources and expertise are expended for policy ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014